package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 使用转换流读取文本数据
 */
public class ISRDemo {
    public static void main(String[] args) throws IOException {
        /*
        将osw.txt中所有字符读取回来并且输出到控制台
         */
        FileInputStream fis=new FileInputStream("ows.txt");
        //FileInputStream fis=new FileInputStream("./src/main/java/io/CopDemo.java");
        InputStreamReader isr=new InputStreamReader(fis);

        /*
            所有字符输入流超类Reader上定义了读取一个字符的方法:
            int read()
            读取一个字符并将其返回(以int类型返回的).如果返回的int值为整数-1则表示流读取到了末尾

            char 2字节 11001101 01011101

            int型返回char值时
            00000000 00000000 11001101 01011101
            |--自动补充16个0--|
         */
 //        int d = isr.read();//读取一个字符
//        System.out.println((char)d);
        int d;
        while ((d=isr.read())!=-1){//遍历,一个个输出字符
            System.out.print((char) d);
        }

        isr.close();
    }
}
